Microcontrollers are single chip integrated circuits comprising a central processing unit (microcontroller core), a plurality of peripheral devices, I/O ports, and memory, etc. In other words, a microcontroller is a system on a chip that requires little or no external components. Many microcontrollers are designed according to the Harvard model which provides for separate program and data memory. However, von Neumann type microcontrollers with a combined program and data memory space also exist.
Performing code coverage analysis allows for the formal verification of running code. Code coverage may be used to determine whether segments of code should have been executed. Formal verification of code may be performed according to standards such as WC 61508, WC 26262, D0-178B/C, or DO-178B.